package com.hilon.foundation.main_child;



import com.hilon.foundation.para.QueryEntity;
import com.hilon.foundation.simple.BaseSimpleService;
import com.hilon.foundation.util.ResultBean;

import java.util.List;

public interface BaseMainChildService<T extends EntityBaseMain<C,VC>,
        C extends EntityBaseChild
        ,V,VC extends EntityBaseChild>
extends BaseSimpleService<T,V> {
    ResultBean<V> findById(Long idPara);

    ResultBean<List<C>> getChildrenById(Long id);

    ResultBean<List<VC>> getChildrenFullById(Long id);

    void deleteChildrenById(Long id);

    void editChildrenById(Long id, List<C> children);

    void appendChildrenById(Long id, List<C> children);

    ResultBean<List<V>> findAllMain();

    ResultBean<String> check(T entity);
    ResultBean<String> checkCancel(T entity);

    ResultBean<C> saveChild(C child);

    //通用查询
    ResultBean<List<V>> getQueryData(String categoryType,String entityName,
                                     String categoryName,String categoryTypeDetail,
                                     QueryEntity queryEntity);
}
